# @Author   : tan90
# @Time     : 2025/7/31 08:26
import json
import time


def main(topic, data) -> str:
    json_data = json.loads(data)
    device_type = json_data.get("deviceType", "")
    device_code = json_data.get("deviceCode", "")
    ts = json_data.get('time', int(time.time() * 1000))
    del json_data['deviceType']
    del json_data['deviceCode']
    del json_data['time']
    json_data |= json_data.pop('params')
    # 补充AlarmText字段
    json_data.setdefault('YieldCounter', None)
    json_data.setdefault('Program', None)
    json_data.setdefault('FeedOverride', None)
    json_data.setdefault('FeedSpeed', None)
    json_data.setdefault('SpindleOverride', None)
    json_data.setdefault('SpindleSpeed', None)
    json_data.setdefault('AXISLoad', None)
    json_data.setdefault('AlarmText', '')
    return json.dumps({"ts": ts, "deviceType": device_type, "deviceCode": device_code, "data": json_data}, indent=2)


if __name__ == '__main__':
    json_str = '''
          {
          "deviceCode": "MC011",
          "deviceType": "t007",
          "time": 1753921670719,
          "params": {
            "state": 2
            
          }
        }
    '''
    result = main("device/data/t007/MC011", json_str)
    print(json.dumps(result, indent=2))
